package com.wenx.v3system.modular.platform.domain.query;

import com.wenx.base.domain.BaseQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 平台租户查询条件
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "平台租户查询条件")
public class PlatformTenantQuery extends BaseQuery<Object> {

    @Schema(description = "租户编码（模糊查询）", example = "tenant_001")
    private String code;

    @Schema(description = "租户名称（模糊查询）", example = "演示")
    private String name;

    @Schema(description = "租户域名（模糊查询）", example = "demo")
    private String domain;

    @Schema(description = "联系人姓名（模糊查询）", example = "张三")
    private String contactName;

    @Schema(description = "联系人邮箱（模糊查询）", example = "contact@demo.com")
    private String contactEmail;

    @Schema(description = "租户状态：1-正常，2-试用，3-暂停，4-过期，0-禁用", example = "1")
    private Integer status;

    @Schema(description = "套餐类型", example = "basic")
    private String planType;

    @Schema(description = "是否即将过期", example = "true")
    private Boolean isExpiringSoon;

    @Schema(description = "最小用户数", example = "10")
    private Integer minUsers;

    @Schema(description = "最大用户数", example = "100")
    private Integer maxUsers;
} 